package com.ruyiadmin.springboot.entity_data_model.data_transformation_model.business_model.module_management;

import com.ruyiadmin.springboot.common_infrastructure.models.base_entity_model.RuYiAdminBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 模块DTO模型
 * </p>
 *
 * @author RuYiAdmin
 * @since 2022-09-06
 */
@Data
@ApiModel(value = "BizModuleDTO对象", description = "模块")
@NoArgsConstructor
@AllArgsConstructor
public class BizModuleDTO extends RuYiAdminBaseDTO {
    @ApiModelProperty("模块名称")
    @NotNull
    @Length(max = 512)
    private String moduleName;

    @ApiModelProperty("模块简称")
    @NotNull
    @Length(max = 256)
    private String moduleShortName;

    @ApiModelProperty("模块英文简称")
    @NotNull
    @Length(max = 128)
    private String moduleShortNameEn;

    @ApiModelProperty("采用HTTP协议，HTTP或者HTTPS")
    @NotNull
    @Length(max = 15)
    private String moduleProtocol;

    @ApiModelProperty("模块地址：ip或者域名")
    @NotNull
    @Length(max = 256)
    private String moduleAddress;

    @ApiModelProperty("模块端口")
    private Integer modulePort;

    @ApiModelProperty("模块logo图片位置")
    private String moduleLogoAddress;

    @ApiModelProperty("模块单点登录地址")
    @Length(max = 512)
    private String moduleSsoAddress;

    @ApiModelProperty("模块待办地址")
    @Length(max = 512)
    private String moduleTodoAddress;

    @ApiModelProperty("序号")
    private Integer serialNumber;

    @ApiModelProperty("用户所在模块登录账号")
    @NotNull
    @Length(max = 128)
    private String userModuleLogonName;

    @ApiModelProperty("用户所在模块登录密码")
    @NotNull
    @Length(max = 512)
    private String userModulePassword;
}
